/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package geografia;

import vista.GestorVistaEditor;


/**
 *
 * @author Raul
 */
public class GestorVistaLocalidadIntFrm extends GestorVistaEditor {

    private EditorLocalidadIntFrm formulario;
    private GestorLocalidad gestorModelo = new GestorLocalidad();

    public GestorVistaLocalidadIntFrm() {
        gestorModelo.crearModelo();
        setModo(CREACION);
    }

    public GestorVistaLocalidadIntFrm(Localidad modelo) {
        gestorModelo.setModelo(modelo);
        setModo(MODIFICACION);
    }

    @Override
    public String getNombreObjeto() {
        return "La Localidad";
    }
    
    @Override
    public EditorLocalidadIntFrm getFormulario() {
        return formulario;
    }

    public void setFormulario(EditorLocalidadIntFrm formulario) {
        this.formulario = formulario;
    }

    @Override
    public GestorLocalidad getGestorModelo() {
        return gestorModelo;
    }

    public void setGestorModelo(GestorLocalidad gestorModelo) {
        this.gestorModelo = gestorModelo;
    }
    
    
    @Override
    public void abrirFormulario() {
        setFormulario(new EditorLocalidadIntFrm(this));
        inicializarVista();
        formulario.setVisible(true);
    }

    @Override
    public void inicializarVista() {
        GestorLocalidad gL = new GestorLocalidad();
        getFormulario().cargarComboProvincia(gL.listarProvincias());
        if(!super.isCreacion()) setearVistaConModelo();
    }
    
    /** Da a los atributos del objeto a crear/actualizar los valores 
     * ingresados por el usuario
     */
    @Override
    public void setearModeloConVista(){
        Localidad model = getGestorModelo().getModelo();
        model.setCodigoPostal(formulario.getCodigoPostalTxt().getValue());
        model.setNombre(formulario.getNombreTxt().getText());
        model.setProvincia((Provincia) formulario.getProvinciaCmb().getSelectedItem());
    }

    @Override
    public void setearVistaConModelo() {
        formulario.getCodigoPostalTxt().setValue(gestorModelo.getModelo().getCodigoPostal());
        formulario.getNombreTxt().setText(gestorModelo.getModelo().getNombre());
        formulario.getProvinciaCmb().setSelectedItem(gestorModelo.getModelo().getProvincia());
    }

    @Override
    public void cerrarFormulario() {
        getFormulario().dispose();
    }

}